|
| Abb.4.1 schematische Darstellung der Maus |
| Windowstreiber | serielle Schnittstelle |
Vorteil |
Vorteil |
|
Mit dem Maustreiber können auf einfache Weise mit einem Low-Cost-Gerät die x- bzw. y- Komponenten der
Mausgeschwindigkeit gemessen werden. Dies kann z.B. zum Erfassen von Bewegungsabläufen
eines Fahrbahnwagens
verwendet werden. Dazu muss die Maus leicht umgebaut werden (
siehe
Umbauanleitung) |
wie bei der Messung per Maustreiber können auf einfache Weise Bewegungsabläufe erfasst werden die Messzeit muss nur ein Vielfaches von 25ms betragen. Daher ist eine feinere Messung als bei der Messung über den Windowsmaustreiber möglich. die Windowsmaus kann während der Messung zur Steuerung des Programmablaufs verwendet werden |
Einschränkungen |
Einschränkungen |
|
die Messzeit muss ein Vielfaches von 50ms betragen. Das ist das kleinste Zeitintervall, |
die Maus darf erst nach dem Einschalten des Computers an den COM-Port angeschlossen werden |
|
die höchste mit der Maus messbare Geschwindkeit Maus ist abhängig von der Winkelgeschwindigkeit,
mit der sich die Achse dreht, auf die die zu messende Bewegung übertragen wird.
Der Computer übermittelt
eine zur Geschwindkeit proportionale Impulszahl mit Werten zwischen -127 und 127.
Treten in dem Messzeitintervall mehr als 127 Impulse auf, werden diese nicht mitgezählt.
Ab einer Grenzgeschwindkeit haben daher Geschwindigkeitserhöhungen keinen Effekt mehr
und es wird je nach Bewegungsrichtung konstant der Wert -127 bzw. 127 übermittelt. bei Windows XP wird wegen zusätzlicher interner Umrechnungen eine geringere Messgenauigkeit erreicht |
wie bei der Messung per Maustreiber ist die maximal erfassbare Geschwindigkeit der Maus
begrenzt |
l_einh:=0.000012;
t:=0;
Mauszählen;
s_folg('i',dt);
mes;dy:=mes_w*l_einh; // Vorlauf, um v_alt für
v_alt:=dy/dt; // die Berechnung von v zu bestimmen
repeat
Mes;
dy:=Mes_W*l_einh;
y_neu:=y+dx;
v_neu:=dy/dt;
v:=(v_neu+v_alt)/2;
a:=(v_neu-v_alt)/dt;
Ausgabe (t, y, v, a);
t:=t+dt;
y:=y_neu;
v_alt:=v_neu;
until t>5;
t:=0;
dt:=0.1; mt:=5; l_einh:=0.0001265;
v_alt:=0;
maus_seriell(1);
s_folg('i', dt);
mes;
repeat
mes;
dx:=-mes_w*l_einh;
x:=x+dx;
v:=dx/dt;
a:=(v-v_alt)/dt;
if x>0.66 then s_fed:=x-0.66 else s_fed:=0;
ausgabe (t, x, v, a, s_fed);
v_alt:=v;
t:=t+dt
until t>mt;
t:=0;
dt:=0.12;// das Zeitintervall dt zwischen zwei aufeinanderfolgenden Messungen
mt:=60;
mauszählen; // es erfolgt eine Messung über den Maustreiber
s_folg ('i', dt);
mes_p (2);
dx_alt:=mes_wp (1);
dy_alt:=mes_wp (2);
y:=-300;
repeat
mes_p (2);
dx:=mes_wp (1);
dy:=mes_wp (2);
x_neu:=x+dx;
y_neu:=y+dy;
ax:=dx-dx_alt;
ay:=dy-dy_alt;
ausgabe (t, x, y, dx, dy, ax, ay);
dx_alt:=dx; x:=x_neu;
dy_alt:=dy; y:=y_neu;
t:=t+dt;
until t>mt;
Systemeinstellungen und Hardware
Grundsätzlich eignen sich sowohl PS/2- als auch serielle Mäuse zum Mausmessen über den
Windowstreiber.
Abb.4.2 Zeigergeschwindigkeit einstellen
Für die für die Messung verwendete Maus muss zusätzlich die
Zeigergeschwindigkeit der Maus über die Systemeinstellung des Betriebssystems auf den kleinst möglichen
Wert eingestellt werden. Wie diese Einstellung vorzunehmen ist lesen Sie bitte in dem
Handbuch des Rechners nach. Zudem muss "Zeigerbeschleunigung verbessern"
ausgeschaltet werden.
Bei Windows-XP erfolgt diese Einstellung zum Beispiel über den Menüpunkt

Abb.4.3 Umschalter zum Wechsel der aktiven Maus
Start -> Systemsteuerung -> Drucker und andere
Hardware -> Maus -> Zeigeroptionen.
Dort lässt sich dann die Zeigergeschwindigkeit durch einen Schieber von "langsam" bis "schnell" variieren.
Stellen Sie den Schieber nach links für die langsamste Mauszeigergeschwindigkeit.
Da bei der Untersuchung 1-dimensionaler Bewegungen die ins Experiment eingebaute Maus
nicht mehr zum Bedienen des Computers zur Verfügung steht,
verwendet man idealerweise einen Computer mit einer PS/2-Maus zum Bedienen
und einer zusätzlichen seriellen Maus zum Messen.
Einziger Nachteil dieser Konfiguration ist,
die Bedienmaus (Touchpad) darf während der Messung nicht benutzt werden.
Sonst würde die zusätzliche Bewegung mit erfasst und aufaddiert werden.
Steht keine PS/2-Maus zur Verfügung, so ermöglicht der Umschalter in Abb. 4.3 die
wechselweise Aktivierung zweier serieller Mäuse zum Bedienen bzw. Messen.
In diesem Fall muss die Umschaltung
auf die jeweils „richtige“ Maus rechtzeitig von Hand erfolgen.
Messbefehle im PAKMA-Kernprogramm
1. Schritt : Wahl des Messtyps

Abb.4.4 Mausmessung über
Windowstreiber
Zunächst muss im Kernprogramm der Messtyp festgelegt werden.
Der Messtyp gibt an, über welche Hardware die Messwerte von PAKMA abgefragt werden sollen.
Er bleibt solange gültig, bis ein neuer Messtyp im Kernprogramm gewählt wird.
Messtyp für Windowsmaus :
Der spezielle Messtyp der angibt,
das es sich bei dem vorgenommenen Messtyp um eine Messung mit der Windowsmaus handelt,
lautet:
mauszählen
Messtyp für serielle Maus :
Um eine Messung mit der Maus als seriellem Messgerät durchzuführen, muss man
den Messtyp zusammen mit der Nummer des COM-Ports mit angeben,
an dem die Messmaus angeschlossen wurde. Der Zugehörige Messbefehl zur Wahl des
Messtyps "Messen mit serieller Maus" lautet :
maus_seriell(port)
2.Schritt : Messwerte erfassen
Will man nun die Veränderung der
x- und y- Komponente der Windowsmaus im Zeitintervall dt abfragen,
so entspricht dies
einer Messung über 2 parallele Kanäle, wobei Kanal 1 die vertikale und Kanal 2 die
horizontale Komponente der Änderung der Position der Maus auf dem Bildschirm angibt.
Mit dem Befehl zum messen parallel
mes_p(2);
wird die Veränderung der Position des Mauszeigers während
der Schleifenzeit dt über die 2 Kanäle einer Parallelmessung ermittelt.
Die Werte des jeweiligen Kanals können mit dem Befehl mess-wert parallel mes_wp(Kanal)
den Variablen des Kernprogramms zugewiesen werden :
dx:=mes_wp(1);
dy:=mes_wp(2);
Falls Sie nur an der Änderung der horizontalen Komponente der Maus interessiert sind können Sie
auch einfach den Befehl mes_p(2) durch den Befehl mes ersetzen.
Die Übergabe des Messwerts an eine Variable erfolgt dann mit Hilfe des Befehls mess-wert
mes_w.
mauszaehlentestxy.prj Messung mit mes_p (Parallelmessung auf 2 Kanälen)
mauszaehlentestx.prj Messung mit mes (einzelner Messwert)
Messen über ein VisEdit - Wirkungsgefüge
Der Sinn einer Messung über ein VisEdit-Wirkungsgefüge besteht darin, wichtige Schritte der
Messdatenerfassung und - aufbereitung grafisch in ihrer Abfolge und ihren Abhängigkeiten darzustellen.

Abb.4.5a VisEdit - Messsymboleigenschaften

Abb.4.5b Wirkungsgefüge des Projekts
mauszaehlen.prv
Vorteile
Bei der Messung über ein VisEdit - Wirkungsgefüges sind weder Kenntnisse der Messbefehle
noch Kenntnisse der Struktur des Messprogramms nötig, da das Kernprogramm von VisEdit automatisch erstellt wird.
VisEdit ermöglicht zudem die Aufbereitung von Messdaten, z.B. Geschwindigkeit v, Beschleunigung a (siehe Abb.4.5b).
und eine
leichte Erweiterung eines Modells zum Vergleich Modell - Experiment und umgekehrt.
So kann z.B. ein bestehendes
Wirkungsgefüge leicht durch Einfügen eines Messsymbols erweitert werden um einen Vergleich zwischen
einem Modell und einer Realmessung zu erreichen (mehr dazu in
Kapitel 4.2.5, Beispiel 7). Dabei werden die notwenigen Einstellungen
über einen einfachen Dialog abgefragt (siehe Abb.4.5a) und man muss über keine Programmierkenntnisse
verfügen.
Um in VisEdit eine Messung über den Windows-Maustreiber einzufügen,
wählen Sie im Eigenschaftsdialog des Messymbols unter
dem Punkt "Sonstiges" den Typ "Maus" die Ansteuerung "Maustreiber (Windows)"
aus, so wie dies in Abb.4.5a zu sehen ist.
Anschließend müssen Sie wählen, ob Sie die x- oder y-Achse der Maus auslesen
wollen. Um auf beide Mauskomponenten in ihrem VisEdit-Wirkungsgefüge zugreifen
zu können müssen Sie für jede Achse ein eigenes Messsymbol verwenden.
Beispiele
Im folgenden werden 4 Beispiele für das Messen mit der Maus vorgestellt :
1. Messung der Bewegung eines Federschwingers mit der Maus
Ziel dieses Versuches ist es, die Bewegung eines Federschwingers mit der
Maus zu messen.
Eine an einer Feder befestigte Masse wird mittels eines umlaufenden
Fadens mit einer zu
einem Zählrad umgebauten Maus verbunden.
Abb.4.6 Versuchsaufbau
Abb.4.7 Umgebaute
Maus mit Umlenkrolle
Die Struktur eines Kernprogramms zur Simulation einer Bewegung
wurde bereits im Abschnitt Erstellen des Projektes
Federschwingung
erläutert.
In diesem Abschnitt werden nun die Befehle erläutert, die für die
Messung mit der PC-Maus relevant sind.
Zunächst muss der Messtyp zum Messen mit der Maus gewählt werden. Die entsprechende
PAKMA-Anweisung lautet :
mauszählen
Als nächstes gibt man den Messchritt an :
s_folg('i',dt)
Dabei steht der erste Parameter 'i' für die durchzuführende zeitgesteuert
intermittierende Messung, der zweite Parameter dt
gibt das Zeitintervall zwischen zwei Messungen in Sekunden an.
Weitere Informationen zu diesem und weiteren Messchritten sind im Abschnitt
Messschritte zu finden.
Die Aufnahme einer Messung erfolgt mit dem Befehl
mes
Der Wert der Messung ist mit
mes_w
abrufbar und kann
an andere Grössen des Kernprogramms wie eine Variable übergeben werden.
Hier wird er zur Berechnung des Wegstückes dx, den der Federschwinger im
Zeitschritt dt zurücklegt, verwendet.
Es gilt dx:=mes_w*l_einh .
Im folgenden wird ein entsprechendes Kernprogramm aufgelistet.
Hinweis zur zeitlichen Ausgabe von y,v und a :
Zur Zeit t wird die Situation bei t-dt gezeichnet.
mauszaehlen.prj
Anstatt das Kernprogramm selbst zu erstellen können Sie sich natürlich auch viel einfacher mit Hilfe
von VisEdit das Kernprogramm automatisch erstellen lassen. Abbildung 4.5b zeigt das dazu
entsprechende Wirkungsgefüge hierzu. Das entsprechende PAKMA-VisEdit-Projekt ist in der Datei
mauszaehlen.prv gespeichert.
Abb.4.8 Ausgabe des Projekts
mauszaehlen.prj
2. Versuch zur 1-dimensionalen Bewegung : Fahrbahnversuch schiefe Ebene
Im Gegensatz zu Lehrerdemonstrationsexperimenten kommt besonders
bei Schülerversuchen der
Low-Cost-Aspekt des Sensors Maus voll zum Tragen.
Da Schülerfahrbahnen nicht so reibungsarm wie Luftkissenbahnen sind,
verändert die zusätzliche Reibung des Sensors Bewegungsabläufe auch nur unwesentlich.
Abb.4.9 Fahrbahnwagen - Versuch
Abb.4.10 Umgebaute Maus
mit Umlenkrolle
Abb.4.11 Fahrbahnwagen
mit Feder
Das folgende Projekt misst die Bewegung eines Wagens auf einer schiefen Ebene.
Der Wagen wird am unteren Ende der Fahrbahn an einer Feder reflektiert.
Ein typisches Kernprogramm zum Messen, in dem s und v und a ermittelt wird, ist
weiter unten aufgelistet.
schiefeEbeneMessung.prj
Als Zeitintervall dt sind Vielfache von 0,025 s zu wählen,
angemessen sind Werte zwischen 0,05 und 0,2 s.
In obigem Versuchsbeispiel wurde als Zeitintervall dt = 0.1 gewählt.
Das Ergebnis eines Beschleunigungsversuchs an der schiefen Ebene mit
anschließender Rekflektion durch eine Feder zeigt die Abb.4.9
Abb.4.12 Versuchsergebnis
3. Versuch zur 2-dimensionalen Bewegung
Mit einer Anordnung wie in Abb. 4.13 können krummlinige Bewegungen,
wie z.B. Kurvenfahrten nachvollzogen und analysiert werden.
Als „Fahrbahn“ dient ein DIN A3-Blatt mit aufgedrucktem Koordinatensystem
und Bahnkurve für Kreisbewegungen. Eine Einschränkung betrifft die "Fahrweise" mit
der Maus.

Abb.4.13 Messung krummliniger
Handbewegungen
Damit die Zuordnung der Koordinaten zu den Sensorachsen der Maus erhalten bleibt,
darf die Ausrichtung der Maus während der "Fahrt" nicht verdreht werden.
Die Bildfolge in Abb. 4.14 zeigt mehrere Phasen einer Kurvenfahrt mit
dem Geschwindigkeitsvektor, dem "alten" Geschwindigkeitsvektor und dem
Geschwindigkeitsänderungsvektor als Animationselemente.
In Abb. 4.15 sind für eine Kurvenfahrt mit der Maus die Bahnkurve mit Zeitmarken,
sowie Geschwindigkeitsvektoren (einzelne Pfeile) und Beschleunigungsvektoren
(Doppelpfeile) dargestellt.
Damit lässt sich der handlungsorientierte Umgang mit der
Beschleunigungsdefinition interaktiv umsetzen.
HandMausMessen.prj Versuchen Sie, eine möglichst kreisförmige Bewegung mit
der Maus
aufzunehmen.
Hinweis : Vergessen Sie nicht, die Mausgeschwindigkeit wie oben
beschrieben einzustellen und die Windows Mausbeschleunigung auszuschalten.
Abb.4.14 Phasen einer Kurvenfahrt
Abb.4.15 Darstellung einer Kurvenfahrt
4. Versuch zur 2-dimensionalen Bewegung : Fadenpendel
Für die Mausmessung über den Windowstreiber kommen alle Geräte in Frage, die die
Bewegung der
Windowsmaus steuern können - also auch Touchscreens und Grafiktabletts.

Abb.4.16a Fadenpendel mit dem Grafiktablett
Dies machen wir uns zur Messung einer Fadenpendelbewegung zu Nutze.
Als Material werden ein handelsübliches Grafiktablett,
eine Schnur sowie ein Pendelkörper mit Innengewinde benötigt.
Der Grafiktreiber des Tabletts muss so konfiguriert werden,
daß die Position des Mauszeigers auf dem Bildschirm
der absolute Position des Stiftes auf dem Tablett entspricht.
Normalerweise befindet sich der Grafiktreiber nach der Erstinstallation des Tabletts
automatisch in diesem Modus.
Der Stift des Grafiktabletts wird durch das Gewinde mit dem Pendelkörper verschraubt
und an einer Schnur so über dem Tabelett aufgehängt, das sich die Spitze ca. 1-2 mm
über dem Grafiktablett befindet.
Nun folgt der Mauszeiger automatisch der Bewegung des Stiftes über dem Tablett.
Dadurch ist es möglich, die Bahn des Pendelkörpers mit PAKMA aufzuzeichnen und
anschließend auszuwerten.
Durch den Befehl Mauszählen wird die Maus als Messgerät ausgewählt.
Dabei werden die Impulse PC-Maus im Zeitintervall dt gezählt.
Der Befehl s_folg('i’, dt)
legt den Messmodus und den Zeitschritt fest.
Im Modus 'i’ wird intermittierend gemessen,
d.h. es liegt ein gleiches Zeitintervall dt zwischen den Messungen.
Die Messwerte werden sofort vor der neuen Messung im Kernprogramm bearbeitet
und die Variablen im Ausgabebefehl ausgabe(...) ausgegeben (Echtzeit).
Es wird also intermittierend gemessen und die Bildschirmausgaben entsprechend aktualisiert.
Mit dem Befehl mes_p (2) wird die Messung durchgeführt und
der Messwert im Speicher abgelegt.
Der Parameter bei mes_p gibt an,
wie viele Kanäle bei einer Messung verwendet werden,
beim Messen mit Mauszählen sind dies 2, denn die x- und y- Komponente der
Mausposition werden in zwei verschiedenen Kanälen ausgegeben :
der x – Wert in Kanal 1, der y- Wert in Kanal 2.
Durch den Befehl mes_wp(n) wird der Messwert des n-ten Kanals der
letzten Parallelmessung aus dem Speicher aufgerufen und an eine Variable übergeben.
So wird durch dy:= mes_wp(2) der Variablen dy der letzte Messwert
für die Verschiebung der y-Position des Mauszeigers übergeben.
Das zugehörige Kernprogramm lautet:
Fadenpendel.prj zeigt die Reproduktion einer solchen Messung
In Abbildung 4.16a ist das Grafiktablett mit dem Fadenschwinger zu sehen.
Abbildung 4.16b zeigt ein typisches Versuchsergebnis.

Abb.4.16b Darstellung der Bewegung des Fadenpendels
weiter mit...
Messwerte aus Datei übernehmen